package com.adamjwh.pratice.offer;

import com.adamjwh.tools.ListNode;

import java.util.ArrayList;

/**
 * 输入一个链表，从尾到头打印链表每个节点的值。
 */

public class PrintList {
    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
        ArrayList<Integer> list = new ArrayList<>();
        java.util.Stack<Integer> stack = new java.util.Stack<>();   //栈操作，先进后出

        while(listNode != null) {
            stack.push(listNode.val);   //入栈
            listNode = listNode.next;
        }

        while(!stack.isEmpty()) {
            list.add(stack.pop());      //出栈并加入list
        }

        return list;
    }
}
